home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / shmem_put.z / shmem_put
Encoding:
Text File  |  2002-10-03  |  16.9 KB  |  192 lines

  1.  
  2. SHMEM_PUT(3)                                                   SHMEM_PUT(3)
  3.  
  4.  
  5. NNNNAAAAMMMMEEEE
  6.      sssshhhhmmmmeeeemmmm____cccchhhhaaaarrrraaaacccctttteeeerrrr____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ccccoooommmmpppplllleeeexxxx____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ppppuuuutttt,
  7.      sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ppppuuuutttt, sssshhhhmmmmeeeemmmm____iiiinnnntttt____ppppuuuutttt, sssshhhhmmmmeeeemmmm____iiiinnnntttteeeeggggeeeerrrr____ppppuuuutttt, sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____ppppuuuutttt,
  8.      sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ppppuuuutttt, sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ppppuuuutttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ppppuuuutttt,
  9.      sssshhhhmmmmeeeemmmm____ppppuuuutttt4444, sssshhhhmmmmeeeemmmm____ppppuuuutttt8888, sssshhhhmmmmeeeemmmm____ppppuuuutttt33332222, sssshhhhmmmmeeeemmmm____ppppuuuutttt66664444, sssshhhhmmmmeeeemmmm____ppppuuuutttt111122228888,
  10.      sssshhhhmmmmeeeemmmm____ppppuuuuttttmmmmeeeemmmm, sssshhhhmmmmeeeemmmm____rrrreeeeaaaallll____ppppuuuutttt, sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ppppuuuutttt - Transfers data to a
  11.      specified processing element (PE)
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      C or C++:
  15.  
  16.         ####iiiinnnncccclllluuuuddddeeee <<<<mmmmpppppppp////sssshhhhmmmmeeeemmmm....hhhh>>>>
  17.  
  18.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ppppuuuutttt((((ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt
  19.         _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  20.  
  21.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ppppuuuutttt((((ffffllllooooaaaatttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ffffllllooooaaaatttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt
  22.         _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  23.  
  24.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiinnnntttt____ppppuuuutttt((((iiiinnnntttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt iiiinnnntttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
  25.         _p_e))));;;;
  26.  
  27.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ppppuuuutttt((((lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,,
  28.         iiiinnnntttt _p_e))));;;;
  29.  
  30.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ppppuuuutttt((((lllloooonnnngggg ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ddddoooouuuubbbblllleeee
  31.         ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  32.  
  33.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ppppuuuutttt((((lllloooonnnngggg lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg lllloooonnnngggg ****_s_o_u_r_c_e,,,,
  34.         ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  35.  
  36.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
  37.         _p_e))));;;;
  38.  
  39.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt33332222((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
  40.         _p_e))));;;;
  41.  
  42.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt66664444((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
  43.         _p_e))));;;;
  44.  
  45.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt111122228888((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
  46.         _p_e))));;;;
  47.  
  48.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuuttttmmmmeeeemmmm((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
  49.         _p_e))));;;;
  50.  
  51.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ppppuuuutttt((((sssshhhhoooorrrrtttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt sssshhhhoooorrrrtttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt
  52.         _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  53.  
  54.      Fortran:
  55.  
  56.         IIIINNNNTTTTEEEEGGGGEEEERRRR _l_e_n,,,, _p_e
  57.  
  58.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  59.  
  60.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  61.  
  62.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  63.  
  64.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  65.  
  66.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  67.  
  68.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  69.  
  70.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT4444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  71.  
  72.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT8888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  73.  
  74.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT33332222((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  75.  
  76.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT66664444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  77.  
  78.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT111122228888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  79.  
  80.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTTMMMMEEEEMMMM((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  81.  
  82.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
  83.  
  84. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  85.      The ppppuuuutttt routines provide a high-performance method for copying a
  86.      contiguous data object from the local PE to a contiguous data object
  87.      on a different PE.  The routines return when the data has been copied
  88.      out of the _s_o_u_r_c_e array on the local PE, but not necessarily before
  89.      the data has been delivered to the remote data object.
  90.  
  91.      IRIX systems systems ensure that data caches stay coherent while doing
  92.      remote data writes, so calls to cache management functions are not
  93.      needed when using the ppppuuuutttt routines.
  94.  
  95.      The arguments are as follows:
  96.  
  97.      _t_a_r_g_e_t    Data object to be updated on the remote PE.  This data
  98.                object must be remotely accessible.
  99.  
  100.      _s_o_u_r_c_e    Data object containing the data to be copied.
  101.  
  102.      _l_e_n       Number of elements in the _t_a_r_g_e_t and _s_o_u_r_c_e arrays.  _l_e_n
  103.                must be of type integer.  If you are using Fortran, it must
  104.                be a constant, variable, or array element of default integer
  105.                type.
  106.  
  107.      _p_e        PE number of the remote PE.  _p_e must be of type integer.  If
  108.                you are using Fortran, it must be a constant, variable, or
  109.                array element of default integer type.
  110.  
  111.      The _t_a_r_g_e_t and _s_o_u_r_c_e data objects must conform to certain typing
  112.      constraints, which are as follows:
  113.  
  114.      RRRRoooouuuuttttiiiinnnneeee                       DDDDaaaattttaaaa TTTTyyyyppppeeee ooooffff _t_a_r_g_e_t aaaannnndddd _s_o_u_r_c_e
  115.  
  116.      sssshhhhmmmmeeeemmmm____ppppuuuutttt                     Any noncharacter type that has a storage
  117.                                    size equal to 64 bits.
  118.  
  119.      sssshhhhmmmmeeeemmmm____ppppuuuuttttmmmmeeeemmmm                  Fortran:  Any noncharacter type.
  120.  
  121.                                    C:  Any data type.  _l_e_n is scaled in
  122.                                    bytes.
  123.  
  124.      sssshhhhmmmmeeeemmmm____ppppuuuutttt4444, sssshhhhmmmmeeeemmmm____ppppuuuutttt33332222       Any noncharacter type that has a storage
  125.                                    size equal to 32 bits.
  126.  
  127.      sssshhhhmmmmeeeemmmm____ppppuuuutttt8888, sssshhhhmmmmeeeemmmm____ppppuuuutttt66664444       Any noncharacter type that has a storage
  128.                                    size equal to 64 bits.
  129.  
  130.      sssshhhhmmmmeeeemmmm____ppppuuuutttt111122228888                  Any noncharacter type that has a storage
  131.                                    size equal to 128 bits.
  132.  
  133.      sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ppppuuuutttt               Elements of type short.
  134.  
  135.      sssshhhhmmmmeeeemmmm____iiiinnnntttt____ppppuuuutttt                 Elements of type int.
  136.  
  137.      sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ppppuuuutttt                Elements of type long.
  138.  
  139.      sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ppppuuuutttt            Elements of type long long.
  140.  
  141.      sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ppppuuuutttt               Elements of type float.
  142.  
  143.      sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ppppuuuutttt              Elements of type double.
  144.  
  145.      sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ppppuuuutttt          Elements of type long double.
  146.  
  147.      SSSSHHHHMMMMEEEEMMMM____CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR____PPPPUUUUTTTT           Elements of type character.  _l_e_n is the
  148.                                    number of characters to transfer.  The
  149.                                    actual character lengths of the _s_o_u_r_c_e
  150.                                    and _t_a_r_g_e_t variables are ignored.
  151.  
  152.      SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____PPPPUUUUTTTT             Elements of type complex of default
  153.                                    size.
  154.  
  155.      SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____PPPPUUUUTTTT (Fortran)    Elements of type double precision.
  156.  
  157.      SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____PPPPUUUUTTTT             Elements of type integer.
  158.  
  159.      SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____PPPPUUUUTTTT             Elements of type logical.
  160.  
  161.      SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____PPPPUUUUTTTT                Elements of type real.
  162.  
  163.      If you are using Fortran, data types must be of default size.  For
  164.      example, a real variable must be declared as RRRREEEEAAAALLLL, RRRREEEEAAAALLLL****4444, or
  165.      RRRREEEEAAAALLLL((((KKKKIIIINNNNDDDD====4444)))).
  166.  
  167. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  168.      The following sssshhhhmmmmeeeemmmm____ppppuuuutttt example is for C/C++ programs:
  169.  
  170.           #include <mpp/shmem.h>
  171.           main()
  172.           {
  173.              long source[10] = { 1, 2, 3, 4, 5,
  174.                                  6, 7, 8, 9, 10 };
  175.           static long target[10];
  176.           start_pes(2);
  177.           if (_my_pe() == 0) {
  178.              /* put 10 words into target on PE 1 */
  179.              shmem_long_put(target, source, 10, 1);
  180.           }
  181.           shmem_barrier_all();  /* sync sender and receiver */
  182.           if (_my_pe() == 1)
  183.              shmem_udcflush();
  184.           printf("target[0] on PE %d is %d0, _my_pe(), target[0]);
  185.           }
  186.  
  187. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  188.      iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3), sssshhhhmmmmeeeemmmm____iiiippppuuuutttt(3), sssshhhhmmmmeeeemmmm____iiiixxxxppppuuuutttt(3), sssshhhhmmmmeeeemmmm____qqqquuuuiiiieeeetttt(3)
  189.  
  190.      _M_e_s_s_a_g_e _P_a_s_s_i_n_g _T_o_o_l_k_i_t: _M_P_I _P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l
  191.  
  192.